Data processing systems can include various components that interact with each other to process an instruction. In a multi-threaded processor, for example, processor threads may send transaction requests to a resource that is a processor component, such as a memory management unit. The transaction requests may be a request for data, instruction, address, or other information for processing. The transaction requests may be sent during the same clock cycle or in successive clock cycles, while the processor component may be capable of responding to one transaction request in a clock cycle. Furthermore, some transaction requests may be cancelled at a later clock cycle. Data processing systems may include a transaction request management process to manage the incoming transaction requests at the same or different clock cycles and invalidated transaction requests.
One transaction request management process is round robin. In a round robin process, a management component marks the thread from which the last transaction request was provided to the resource and begins checking the next thread after the mark for a transaction request. The management component may continue in order of threads thereafter until it finds a next transaction request. The round robin process, however, can introduce delays in processing if the transaction requests are not provided in sequentially ordered threads or if a transaction request is subsequently invalidated.
Another transaction request management process is using a link list. A link list may be a storage component in which a transaction request is linked to the previous and next transaction requests respectively. After a transaction request is sent to the resource or invalidated, the process identifies the next transaction request linked to the sent or invalidated transaction request. The link list can be useful for managing several transaction requests, but can require power resources and clock cycles to reconfigure the links upon invalidation of a transaction request.
Accordingly, a transaction request management system and process is desirable to decrease latency due to pending or invalid transaction requests and/or decrease power necessary to perform transaction request management.